package org.zhangchao.poi.util;

import java.text.ParseException;
import java.util.Date;

import org.apache.commons.beanutils.Converter;

/**
 * 日期转换类
 * 
 * @author ZhangChao
 * 
 */
public class DateConverter implements Converter {

	/** 默认 转换 的格式 */
	private final String DEFAULT_PATTERN = "yyyy-mm-dd";

	/** 转换 的格式 */
	private String pattern;

	@Override
	@SuppressWarnings({ "unchecked", "rawtypes" })
	public Object convert(Class clazz, Object value) {
		// 当value参数等于空时返回空
		if (value == null) {
			return null;
		}else if(value instanceof Date) {
			return value;
		}
		// 创建日期类对象
		Date date = null;
		try {
			// 使用自定义日期的格式转化value参数为yyyy-MM-dd格式
			if (null == pattern) {
				date = DateUtil.parse((String) value, DEFAULT_PATTERN);
			} else {
				date = DateUtil.parse((String) value, pattern);
			}

		} catch (ParseException e) {
			// e.printStackTrace();
			date = null;
		}
		return date;
	}

	public String getPattern() {
		return pattern;
	}

	public void setPattern(String pattern) {
		this.pattern = pattern;
	}

}
